<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
  </head>
  <body>
    <script>
      /*
            1. 构造函数创建
                ① this={} // this.name=jack
                ② this.__proto__=F.protoype
                ③ return this
            2. Object.create()
            3. 类（class）创建对象
						 ① this={}
						 ② this.__proto__=F.protoype
						 ③ return this
        */

      // class 是 function 的语法糖，① 规范化对象创建 ② 简化了原型继承
      class Person {
        /*
        构造方法
          ① new 一个类的时候（实例化类，创建对象），会被自动执行
        */
        constructor() {
          // this = {}
          this.username = "jack";
          // this.__proto__ = Person.prototype
          // return this;
        }
      }
      // 返回值是 constructor 的返回值
      const p1 = new Person();
      console.log(p1);
    </script>
  </body>
</html>
